package 蓝桥算法.A01;
import java.math.BigInteger;

public class 小明爬楼梯 {
    public static void main(String[] args){
        /*
            小明爬楼梯：一次爬一个台阶或者爬两个台阶，
            假设楼梯有20个台阶，小明一共有多少种爬法？
         */
        System.out.println(fn(20));
    }
    private static long fn(int step){
        if (step == 1 ){
            return 1;
        }else if (step == 2){
            return 2;
        }else if (step == 3){
            return 4;
        }
        return fn(step - 1) + fn(step - 2) + fn(step -3);
    }
}
